#pragma once

#include "ShaderManager.h"

class Material;

class ShaderBase
{
public:
	ShaderBase(void);
	~ShaderBase(void);

public:
	virtual int Begin( Material * material = NULL, DWORD fvf = 0 ) = 0;
	virtual void BeginPass( int pass ) = 0;
	virtual void EndPass() = 0;
	virtual void End() = 0;

protected:
	ShaderType	m_type;
	DWORD		m_fvf;
	Material *	m_material;

	int			m_curPass;
};
